package models

import "time"

type SowingRecord struct {
	// 播种记录ID
	ID int `gorm:"column:id;PRIMARY_KEY;AUTO_INCREMENT" json:"id"`
	// 创建时间
	CreatedAt *time.Time `gorm:"column:created_at;type:timestamp" json:"created_at"`
	// 更新时间
	UpdatedAt *time.Time `gorm:"column:updated_at;type:timestamp" json:"updated_at"`

	SowingRecordCore
}

type SowingRecordCore struct {
	// 订单ID
	OrderID int `gorm:"column:order_id" json:"order_id"`
	// 播种日期 2006-01-02 日期
	SowingDate string `gorm:"column:sowing_date;type:date" json:"sowing_date"`
	// 播种数量
	Quantity int `gorm:"column:quantity" json:"quantity"`
	// 管理员ID
	ManagerID int `gorm:"column:manager_id" json:"manager_id"`
	// 备注
	Remark string `gorm:"column:remark" json:"remark"`
}

type SowingRecordDelta struct {
	// 订单ID
	OrderID interface{} `gorm:"column:order_id" json:"order_id" swaggertype:"integer"`
	// 播种日期 2006-01-02 日期
	SowingDate interface{} `gorm:"column:sowing_date" json:"sowing_date" swaggertype:"string"`
	//	播种数量
	Quantity interface{} `gorm:"column:quantity" json:"quantity" swaggertype:"integer"`
	// 管理员ID
	ManagerID interface{} `gorm:"column:manager_id" json:"manager_id" swaggertype:"integer"`
	// 备注
	Remark interface{} `gorm:"column:remark" json:"remark" swaggertype:"string"`
}

type SowingRecordDetail struct {
	SowingRecord

	// 订单名称
	OrderName string `gorm:"column:orders_name" json:"orders_name"`
	//	管理员名称
	ManagerName string `gorm:"column:manager_name" json:"manager_name"`
}

func (SowingRecord) TableName() string {
	return "sowing_record"
}
